package com.atguigu.spzx.model.base;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

@Data
public class BaseEntity{
//    @TableId(type = IdType.ASSIGN_ID)
    private Long id;
    //每张表都有的字段 为了方便管理 一般抽取基类管理
    /**
     * 创建时间
     */
//    @JsonFormat(timezone = "GMT+8" , pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    /**
     * 更新时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE) //BaseEntity对象 新增或者更新时 触发handler自动填充
    private Date updateTime;

    /**
     * 删除标记（1:不可用 0:可用）
     */
    //以后执行查询的sql会自动拼接条件  where is_deleted = 0
    //删除的sql  会自动使用update is_deleted = 1
    @TableLogic //该字段为逻辑删除字段
    private Integer isDeleted;
}
